From 87a0cbcffc63f1b2ba58cb4e47579e38a07dd18b Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Fri, 1 Feb 2002 22:41:39 +0000 Subject: [PATCH] adjust cell_area and background_area for possible treeview scroll (fixes Fri Feb 1 23:40:31 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust cell_area and background_area for possible treeview scroll (fixes #70283, #70065) --- ChangeLog | 6 ++++++ ChangeLog.pre-2-0 | 6 ++++++ ChangeLog.pre-2-10 | 6 ++++++ ChangeLog.pre-2-2 | 6 ++++++ ChangeLog.pre-2-4 | 6 ++++++ ChangeLog.pre-2-6 | 6 ++++++ ChangeLog.pre-2-8 | 6 ++++++ gtk/gtktreeview.c | 14 ++++++++++++++ 8 files changed, 56 insertions(+) diff --git a/ChangeLog b/ChangeLog index cf93df6c25..15c1cea244 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Fri Feb 1 23:40:31 2002 Kristian Rietveld + + * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust + cell_area and background_area for possible treeview scroll + (fixes #70283, #70065) + Fri Feb 1 22:20:13 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_size_allocate): use diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index cf93df6c25..15c1cea244 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,9 @@ +Fri Feb 1 23:40:31 2002 Kristian Rietveld + + * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust + cell_area and background_area for possible treeview scroll + (fixes #70283, #70065) + Fri Feb 1 22:20:13 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_size_allocate): use diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index cf93df6c25..15c1cea244 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +Fri Feb 1 23:40:31 2002 Kristian Rietveld + + * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust + cell_area and background_area for possible treeview scroll + (fixes #70283, #70065) + Fri Feb 1 22:20:13 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_size_allocate): use diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index cf93df6c25..15c1cea244 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,9 @@ +Fri Feb 1 23:40:31 2002 Kristian Rietveld + + * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust + cell_area and background_area for possible treeview scroll + (fixes #70283, #70065) + Fri Feb 1 22:20:13 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_size_allocate): use diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index cf93df6c25..15c1cea244 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,9 @@ +Fri Feb 1 23:40:31 2002 Kristian Rietveld + + * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust + cell_area and background_area for possible treeview scroll + (fixes #70283, #70065) + Fri Feb 1 22:20:13 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_size_allocate): use diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index cf93df6c25..15c1cea244 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,9 @@ +Fri Feb 1 23:40:31 2002 Kristian Rietveld + + * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust + cell_area and background_area for possible treeview scroll + (fixes #70283, #70065) + Fri Feb 1 22:20:13 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_size_allocate): use diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index cf93df6c25..15c1cea244 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,9 @@ +Fri Feb 1 23:40:31 2002 Kristian Rietveld + + * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust + cell_area and background_area for possible treeview scroll + (fixes #70283, #70065) + Fri Feb 1 22:20:13 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_size_allocate): use diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 84d2f16a14..a0b68a46e9 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -1681,6 +1681,8 @@ gtk_tree_view_button_press (GtkWidget *widget, gint depth; gint new_y; gint y_offset; + gint dval; + gint pre_val, aft_val; GtkTreeViewColumn *column = NULL; gint column_handled_click = FALSE; @@ -1758,6 +1760,8 @@ gtk_tree_view_button_press (GtkWidget *widget, if (column == NULL) return FALSE; + pre_val = tree_view->priv->vadjustment->value; + tree_view->priv->focus_column = column; if (event->state & GDK_CONTROL_MASK) { @@ -1774,6 +1778,16 @@ gtk_tree_view_button_press (GtkWidget *widget, gtk_tree_view_real_set_cursor (tree_view, path, TRUE); } + /* the treeview may have been scrolled because of _set_cursor, + * correct here + */ + + aft_val = tree_view->priv->vadjustment->value; + dval = pre_val - aft_val; + + cell_area.y += dval; + background_area.y += dval; + if (event->type == GDK_BUTTON_PRESS && !(event->state & gtk_accelerator_get_default_mod_mask ())) { -- 2.30.2